// 客户信息js
layui.use(['table', 'form'], function () {
    var table = layui.table;
    var form = layui.form;
    var pageIndex = 1; // 当前页数
    var pageSize = 5; // 每页显示的条数
    table.render({
        elem: '#test',
        height: 350,
        url: '/userList', //数据接口
        page:{
            // curr是当前页数，limit是每页显示的条数
            page: true, //开启分页
            curr: pageIndex,
            scrollbar: true, //开启滚动条
            limit: pageSize, //每页显示的条数
            limits: [5, 10, 15, 20] //每页条数的选择项
        },

        cols: [[ //表头
            // 选择框
            {type: 'checkbox', fixed: 'left'},
            {field: 'id', title: '序号', sort: true, fixed: 'left', width: 80, minWidth: 80, maxWidth: 80, templet:function(d){
                    return d.LAY_NUM;
            } },
            {field: 'username', title: '用户账户', sort: true, fixed: 'left', width: 110, minWidth: 110, maxWidth: 110},
            {field: 'email', title: 'email', sort: true, fixed: 'left', width: 190, minWidth: 190, maxWidth: 190},
            {field: 'name', title: '姓名', sort: true, fixed: 'left', width: 90, minWidth: 90, maxWidth: 90},
            {field: 'phone', title: '电话', sort: true, fixed: 'left', width: 120, minWidth: 120, maxWidth: 120},
            {
                field: 'createTime',
                title: '创建时间',
                sort: true,
                fixed: 'left',
                width: 160,
                minWidth: 160,
                maxWidth: 160,
                templet: function (d) {
                    return layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm:ss');
                }
            },
            {
                field: 'updateTime',
                title: '更新时间',
                sort: true,
                fixed: 'left',
                width: 160,
                minWidth: 160,
                maxWidth: 160,
                templet: function (d) {
                    return layui.util.toDateString(d.updateTime, 'yyyy-MM-dd HH:mm:ss');
                }
            },
            {field: 'state', title: '状态', sort: true, fixed: 'left', width: 80, minWidth: 80, maxWidth: 80},
            // 显示isDel为false的数据
            {field: 'isDel', title: '是否删除', sort: true, fixed: 'left', width: 120, minWidth: 120, maxWidth: 120},
            {field: 'right', title: '操作', fixed: "left", toolbar: '#ID-table-demo-bar'}
        ]],
        cellMinWidth: 80,
        cellMaxWidth: 200,
        parseData: function (res) {
            console.log(res); // 输出后端返回的数据
            var data = res.data;
            var list = data.list;
            // 保存原始数据
            originalData = list;
            // 获取当前页的起始序号
            startNum = (pageIndex - 1) * pageSize + 1;
            return {
                "code": res.code == 200 ? 0 : 1,
                "msg": res.msg,
                "count": data.total,
                "data": list
            };
        }
    });


    //监听操作栏
    table.on('tool(test)', function (obj) {
        //    获取当前行数据
        var data = obj.data;

        //     删除，弹出是否删除，如果删除，isdel为true，行元素消失
        if (obj.event === 'delete') {
            var checkStatus = table.checkStatus('test')
            data = checkStatus.data;

            // 删除
            //  判断是否选择数据
            if (data.length == 0) {
                layer.msg("请选择要删除的数据", {icon: 5});
                return;
            }
            // 获取选中数据的username,根据username删除
            var ids = [];
            for (var i = 0; i < data.length; i++) {
                ids.push(data[i].id);
                console.log(ids);
            }

            //  是否删除
            layer.confirm('是否删除？', function (index) {
                fetch(ctx + '/sysUser/delete', {
                    method: 'post',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify(ids)
                }).then(function (res) {
                    return res.json();
                }).then(function (res) {
                    if (res.code == 200) {
                        layer.msg("删除成功");
                        table.reload('test');
                    } else {
                        layer.msg("删除失败");
                    }
                }).catch(function (e) {
                    layer.msg(e.msg, {icon: 2, time: 2000});
                });
            })
        }

        //     编辑
        else if (obj.event === 'edit') {
            //    打开弹窗
            layer.open({
                type: 2,
                title: '编辑用户信息',
                shadeClose: true,   //点击遮罩关闭
                shade: 0.8,        //遮罩层背景色
                area: ['40%', '70%'],
                // 不可以被拖动
                move: false,
                // 弹窗上面有一个放大和关闭按钮
                maxmin: true,
                content: '/sysUser/edit?id=' + data.id, //弹窗内容
                end: function () {  //关闭弹窗后执行
                    table.reload('test', {  //表格重载
                        url: '/userList',   //数据接口
                        page: {            //分页
                            curr: pageIndex       //当前页
                        }
                    });
                }
            });
        }
    });
    //     监听搜索
    form.on('submit(data-search-btn)', function (data) {
        console.log(data.field);
        //     重新加载表格
        table.reload('test', {
            page: {
                curr: pageIndex
            },
            where: data.field
        }, false);
        return false;
    });
});

// 工作区(上传，打印，新增，恢复)按钮的监听
$(function () {
        $('.demo-class-accept').on('click', function () {
            var upload = layui.upload;
            upload.render({
                elem: '.demo-class-accept', // 绑定多个元素
                url: ctx  + '/sysUser/import', // 此处配置你自己的上传接口即可
                accept: 'file', // 普通文件
                exts: 'xls|xlsx', // 只允许上传excel文件
                done: function (res) {
                    if (res.code == 200) {
                        layer.msg('上传成功');
                        table.reload('test');
                    } else {
                        layer.msg(res.msg, {icon: 2, time: 2000});
                    }
                    console.log(res);
                }
            });
            return false;
        })
            $('.data-print-btn').on('click', function () {
                window.print();
                //     打印
                return false;
            })
            $('.data-add-btn').on('click', function () {
                //     新增
                layer.open({
                    type: 2,
                    title: '新增用户信息',
                    shadeClose: true,   //点击遮罩关闭
                    shade: 0.8,        //遮罩层背景色
                    area: ['40%', '70%'],
                    // 不可以被拖动
                    move: false,
                    // 弹窗上面有一个放大和关闭按钮
                    maxmin: true,
                    content: '/sysUser/add', //弹窗内容
                    end: function () {  //关闭弹窗后执行
                        table.reload('test', {  //表格重载
                            url: '/userList',   //数据接口
                            page: {            //分页
                                curr: 1    //当前页
                            }
                        });
                    }
                });
                return false;
            })
            $('.data-recover-btn').on('click', function () {
                //     恢复
                layer.open({
                    type: 2,
                    title: '恢复用户信息',
                    shadeClose: true,   //点击遮罩关闭
                    shade: 1,        //遮罩层背景色
                    area: ['100%', '100%'],
                    // 不可以被拖动
                    move: false,
                    content: '/sysUser/recover', //弹窗内容
                    end: function () {  //关闭弹窗后执行
                        table.reload('test', {  //表格重载
                            url: '/sysUser/recoverList',   //数据接口
                            page: {            //分页
                                curr: 1       //当前页
                            }
                        });
                    }
                });
                return false;
            });
    });







